home *** CD-ROM | disk | FTP | other *** search
- /*
- * fwrite.c
- */
-
- #include <errno.h>
- #include <unistd.h>
- #include <stdio.h>
-
- size_t _fwrite(const void *buf, size_t count, FILE *f)
- {
- size_t bytes = 0;
- ssize_t rv;
- const char *p = buf;
-
- while ( count ) {
- rv = write(fileno(f), p, count);
- if ( rv == -1 ) {
- if ( errno == EINTR || errno == EAGAIN )
- continue;
- else
- break;
- } else if ( rv == 0 ) {
- break;
- }
-
- p += rv;
- bytes += rv;
- count -= rv;
- }
-
- return bytes;
- }
-